package com.im

import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp

// 常量
object Const {
    // 数据长度
    const val MAX_USER_COUNT = 50                           // 最大用户数
    const val MAX_USERNAME_LEN = 16                         // 最大用户名长度
    const val MAX_PASSWORD_LEN = 16                         // 最大密码长度
    const val MAX_CONTENT_LEN = 1023                        // 一次发送的最大聊天内容长度

    // 事件
    const val UM_CHAT_C2S = 1                               // 聊天事件（客户端到服务器）
    const val UM_CHAT_S2C = 2                               // 聊天事件（服务器到客户端）
    const val UM_FRIEND_LOGOFF = 3                          // 好友离线事件
    const val UM_FRIEND_LOGON = 4                           // 好友登录事件
    const val UM_GET_ADD_FRIEND_REQUEST = 5                 // 得到添加好友请求事件
    const val UM_GET_ADD_FRIEND_RESULT = 6                  // 得到添加好友结果事件
    const val UM_GET_LOGON_RESULT = 7                       // 得到登录结果事件
    const val UM_GET_REG_RESULT = 8                         // 得到注册结果事件
    const val UM_NETWORK_ERROR = 9                          // 网络错误事件

    // 主活动
    const val MAIN_ACTIVITY_STATUS_BAR_PADDING = 10         // 状态栏边距

    // 聊天活动
    val CHAT_ACTIVITY_CTRL_PADDING = 8.dp                   // 控件间距
    val CHAT_ACTIVITY_LIST_EDIT_PADDING = 40.dp             // 聊天历史控件与输入聊天内容控件的垂直间距
    val CHAT_ACTIVITY_LEFT_COLOR = Color(135, 206, 235)     // 左侧聊天信息背景色
    val CHAT_ACTIVITY_RIGHT_COLOR = Color(178, 226, 69)     // 右侧聊天信息背景色
    val CHAT_ACTIVITY_CORNER_SIZE = 10.dp                   // 聊天信息背景圆角矩形的角度

    // 好友列表
    val USER_LIST_VIEW_ITEM_COLOR = Color(230, 230, 230)    // 好友表项颜色
    val USER_LIST_VIEW_ITEM_PADDING = 8.dp                  // 好友表项的图标与文字之间的距离
    val USER_LIST_VIEW_ITEM_MARGIN = 2.dp                   // 好友表项之间的上下距离

    // 注册活动
    const val REG_ACTIVITY_ICON_LIST_COLUMN_COUNT = 6       // 图标列表列数
    val REG_ACTIVITY_PADDING = 20.dp                        // 活动到屏幕的边距
    val REG_ACTIVITY_CTRL_PADDING = 5.dp                    // 控件之间的间距

    // 请求码
    const val RC_REG = 1                                    // 注册请求

    // 键
    const val KEY_USERNAME = "username"                     // 用户名
    const val KEY_PASSWORD = "password"                     // 密码
    const val KEY_ICON_INDEX = "iconIndex"                  // 头像索引
    const val KEY_FRIEND_NAME = "friendName"                // 好友名
    const val KEY_CHAT_INFO = "chatInfo"                    // 聊天信息

    // 其它
    const val SERVER_CONNECT_TIME_OUT = 3000                // 连接服务器超时值，单位毫秒
    const val DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"      // 时间格式，格式例：2015-01-01 12:00:00
    const val INTENT_CHAT_C2S = "Chat_C2S"                  // 聊天意图(客户端到服务器)
    const val INTENT_CHAT_S2C = "Chat_S2C"                  // 聊天意图(服务器到客户端)
    const val NOTIFICATION_ID_CHAT = 0                      // 系统通知 ID
}
